![]() |
Kinetis SDK API Reference Manual
1.0.0-beta
Freescale Semiconductor, Inc.
|
#include <assert.h>#include <stdint.h>#include <stdbool.h>#include "fsl_dspi_features.h"#include "fsl_device_registers.h"Data Structures | |
| struct | dspi_data_format_config_t |
| DSPI data format settings configuration structure. More... | |
| struct | dspi_master_config_t |
| DSPI hardware configuration settings for master mode. More... | |
| struct | dspi_slave_config_t |
| DSPI hardware configuration settings for slave mode. More... | |
| struct | dspi_baud_rate_divisors_t |
| DSPI baud rate divisors settings configuration structure. More... | |
| struct | dspi_delay_settings_config_t |
| DSPI delay settings configuration structure. More... | |
| struct | dspi_command_config_t |
| DSPI command and data configuration structure. More... | |
Enumerations | |
| enum | dspi_status_t { kStatus_DSPI_Success = 0, kStatus_DSPI_SlaveTxUnderrun, kStatus_DSPI_SlaveRxOverrun, kStatus_DSPI_Timeout, kStatus_DSPI_Busy, kStatus_DSPI_NoTransferInProgress, kStatus_DSPI_InvalidBitCount, kStatus_DSPI_InvalidInstanceNumber, kStatus_DSPI_OutOfRange } |
| Error codes for the DSPI driver. More... | |
| enum | dspi_master_slave_mode_t { kDspiMaster = 1, kDspiSlave = 0 } |
| DSPI master or slave configuration. More... | |
| enum | dspi_clock_polarity_t { kDspiClockPolarity_ActiveHigh = 0, kDspiClockPolarity_ActiveLow = 1 } |
| DSPI clock polarity configuration for a given CTAR. More... | |
| enum | dspi_clock_phase_t { kDspiClockPhase_FirstEdge = 0, kDspiClockPhase_SecondEdge = 1 } |
| DSPI clock phase configuration for a given CTAR. More... | |
| enum | dspi_shift_direction_t { kDspiMsbFirst = 0, kDspiLsbFirst = 1 } |
| DSPI data shifter direction options for a given CTAR. More... | |
| enum | dspi_ctar_selection_t { kDspiCtar0 = 0, kDspiCtar1 = 1 } |
| DSPI Clock and Transfer Attributes Register (CTAR) selection. More... | |
| enum | dspi_pcs_polarity_config_t { kDspiPcs_ActiveHigh = 0, kDspiPcs_ActiveLow = 1 } |
| DSPI Peripheral Chip Select (PCS) Polarity configuration. More... | |
| enum | dspi_which_pcs_config_t { kDspiPcs0 = 1 << 0, kDspiPcs1 = 1 << 1, kDspiPcs2 = 1 << 2, kDspiPcs3 = 1 << 3, kDspiPcs4 = 1 << 4, kDspiPcs5 = 1 << 5 } |
| DSPI Peripheral Chip Select (PCS) configuration (which PCS to configure) More... | |
| enum | dspi_master_sample_point_t { kDspiSckToSin_0Clock = 0, kDspiSckToSin_1Clock = 1, kDspiSckToSin_2Clock = 2 } |
| DSPI Sample Point: Controls when the DSPI master samples SIN in Modified Transfer Format. More... | |
| enum | dspi_fifo_t { kDspiTxFifo = 0, kDspiRxFifo = 1 } |
| DSPI FIFO selects. More... | |
| enum | dspi_status_and_interrupt_request_t { kDspiTxComplete = BP_SPI_RSER_TCF_RE, kDspiTxAndRxStatus = BP_SPI_SR_TXRXS, kDspiEndOfQueue = BP_SPI_RSER_EOQF_RE, kDspiTxFifoUnderflow = BP_SPI_RSER_TFUF_RE, kDspiTxFifoFillRequest = BP_SPI_RSER_TFFF_RE, kDspiRxFifoOverflow = BP_SPI_RSER_RFOF_RE, kDspiRxFifoDrainRequest = BP_SPI_RSER_RFDF_RE } |
| DSPI status flags and interrupt request enable. More... | |
| enum | dspi_fifo_counter_pointer_t { kDspiRxFifoPointer = BP_SPI_SR_POPNXTPTR, kDspiRxFifoCounter = BP_SPI_SR_RXCTR, kDspiTxFifoPointer = BP_SPI_SR_TXNXTPTR, kDspiTxFifoCounter = BP_SPI_SR_TXCTR } |
| DSPI FIFO counter or pointer defines based on bit positions. More... | |
Functions | |
Configuration | |
| dspi_status_t | dspi_hal_master_init (uint32_t instance, const dspi_master_config_t *config, uint32_t *calculatedBaudRate) |
| Configure the DSPI peripheral in master mode. More... | |
| dspi_status_t | dspi_hal_slave_init (uint32_t instance, const dspi_slave_config_t *config) |
| Configures the DSPI peripheral in slave mode. More... | |
| void | dspi_hal_reset (uint32_t instance) |
| Restores the DSPI to reset the configuration. More... | |
| static void | dspi_hal_enable (uint32_t instance) |
| Enable the DSPI peripheral, set MCR MDIS to 0. More... | |
| static void | dspi_hal_disable (uint32_t instance) |
| Disables the DSPI peripheral, sets MCR MDIS to 1. More... | |
| uint32_t | dspi_hal_set_baud (uint32_t instance, dspi_ctar_selection_t whichCtar, uint32_t bitsPerSec, uint32_t sourceClockInHz) |
| Sets the DSPI baud rate in bits per second. More... | |
| void | dspi_hal_set_baud_divisors (uint32_t instance, dspi_ctar_selection_t whichCtar, const dspi_baud_rate_divisors_t *divisors) |
| Configures the baud rate divisors manually. More... | |
| static void | dspi_hal_set_master_slave (uint32_t instance, dspi_master_slave_mode_t mode) |
| Configures the DSPI for master or slave. More... | |
| static void | dspi_hal_configure_continuous_sck (uint32_t instance, bool enable) |
| Configures the DSPI for the continuous SCK operation. More... | |
| static void | dspi_hal_configure_modified_timing_format (uint32_t instance, bool enable) |
| Configures the DSPI to enable modified timing format. More... | |
| static void | dspi_hal_configure_pcs_strobe (uint32_t instance, bool enable) |
| Configures the DSPI peripheral chip select strobe enable. More... | |
| static void | dspi_hal_configure_rx_fifo_overwrite (uint32_t instance, bool enable) |
| Configures the DSPI received FIFO overflow overwrite enable. More... | |
| void | dspi_hal_configure_pcs_polarity (uint32_t instance, dspi_which_pcs_config_t pcs, dspi_pcs_polarity_config_t activeLowOrHigh) |
| Configures the DSPI peripheral chip select polarity. More... | |
| void | dspi_hal_configure_fifos (uint32_t instance, bool disableTxFifo, bool disableRxFifo) |
| Configures the DSPI FIFOs. More... | |
| void | dspi_hal_flush_fifos (uint32_t instance, bool enableFlushTxFifo, bool enableFlushRxFifo) |
| Flushes the DSPI FIFOs. More... | |
| static void | dspi_hal_set_datain_samplepoint (uint32_t instance, dspi_master_sample_point_t samplePnt) |
| Configures when the DSPI master samples SIN in the Modified Transfer Format. More... | |
| static void | dspi_hal_start_transfer (uint32_t instance) |
| Starts the DSPI transfers, clears HALT bit in MCR. More... | |
| static void | dspi_hal_stop_transfer (uint32_t instance) |
| Stops (halts) DSPI transfers, sets HALT bit in MCR. More... | |
| dspi_status_t | dspi_hal_configure_data_format (uint32_t instance, dspi_ctar_selection_t whichCtar, const dspi_data_format_config_t *config) |
| Configures the data format for a particular CTAR. More... | |
| void | dspi_hal_configure_delays (uint32_t instance, dspi_ctar_selection_t whichCtar, const dspi_delay_settings_config_t *config) |
| Configures the delays for a particular CTAR, master mode only. More... | |
DMA | |
| void | dspi_hal_configure_dma (uint32_t instance, bool enableTransmit, bool enableReceive) |
| Configures transmit and receive DMA requests. More... | |
Low power | |
| static void | dspi_hal_configure_doze_mode (uint32_t instance, bool enable) |
| Configures the DSPI operation during doze mode. More... | |
Interrupts | |
| void | dspi_hal_configure_interrupt (uint32_t instance, dspi_status_and_interrupt_request_t interruptSrc, bool enable) |
| Configures the DSPI interrupts. More... | |
| static bool | dspi_hal_get_interrupt_config (uint32_t instance, dspi_status_and_interrupt_request_t interruptSrc) |
| Gets the DSPI interrupt configuration, returns if interrupt request is enabled or disabled. More... | |
Status | |
| static bool | dspi_hal_get_status_flag (uint32_t instance, dspi_status_and_interrupt_request_t statusFlag) |
| Gets the DSPI status flag state. More... | |
| static void | dspi_hal_clear_status_flag (uint32_t instance, dspi_status_and_interrupt_request_t statusFlag) |
| Clears the DSPI status flag. More... | |
| static uint32_t | dspi_hal_get_fifo_counter_or_pointer (uint32_t instance, dspi_fifo_counter_pointer_t desiredParameter) |
| Gets the DSPI FIFO counter or pointer. More... | |
Data transfer | |
| static uint32_t | dspi_hal_read_data (uint32_t instance) |
| Reads data from the data buffer. More... | |
| static void | dspi_hal_write_data_slave_mode (uint32_t instance, uint32_t data) |
| Writes data into the data buffer, slave mode. More... | |
Variables | |
| static const uint32_t | s_baudratePrescaler [] = { 2, 3, 5, 7 } |
| static const uint32_t | s_baudrateScaler [] |